﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Styx.Helpers;
using System.IO;
using Styx;

using Styx.Common;

namespace Spriest
{
    public class SpriestSettings : Settings
    {
        public static readonly SpriestSettings myPrefs = new SpriestSettings();

        public SpriestSettings()
            : base(Path.Combine(Utilities.AssemblyDirectory, string.Format(@"Config/Pasterke/Spriest/{0}-{1}-SpriestSettings.xml", StyxWoW.Me.RealmName, StyxWoW.Me.Name)))
        {
        }
        [Setting, DefaultValue(3)]
        public int ElitesHealth { get; set; }

        [Setting, DefaultValue(0)]
        public int trinket1 { get; set; }

        [Setting, DefaultValue(0)]
        public int trinket2 { get; set; }

        [Setting, DefaultValue(0)]
        public int engigloves { get; set; }

        [Setting, DefaultValue(5)]
        public int startaoe { get; set; }

        [Setting, DefaultValue(1)]
        public int usemindsear { get; set; }

        [Setting, DefaultValue(0)]
        public int cascade { get; set; }

        [Setting, DefaultValue(0)]
        public int usecascade { get; set; }

        [Setting, DefaultValue(0)]
        public int powerinfusion { get; set; }

        [Setting, DefaultValue(0)]
        public int usepowerinfusion { get; set; }

        [Setting, DefaultValue(0)]
        public int divinestar { get; set; }

        [Setting, DefaultValue(0)]
        public int usedivinestar { get; set; }

        [Setting, DefaultValue(0)]
        public int mindbender { get; set; }

        [Setting, DefaultValue(0)]
        public int usemindbender { get; set; }

        [Setting, DefaultValue(0)]
        public int angelicfeather { get; set; }

        [Setting, DefaultValue(0)]
        public int useangelicfeather { get; set; }

        [Setting, DefaultValue(0)]
        public int psyfiend { get; set; }

        [Setting, DefaultValue(0)]
        public int usepsyfiend { get; set; }

        [Setting, DefaultValue(0)]
        public int halo { get; set; }

        [Setting, DefaultValue(0)]
        public int usehalo { get; set; }

        [Setting, DefaultValue(0)]
        public int voidtendrils { get; set; }

        [Setting, DefaultValue(0)]
        public int usevoidtendrils { get; set; }

        [Setting, DefaultValue(0)]
        public int DarknessLight { get; set; }

        [Setting, DefaultValue(0)]
        public int insanity { get; set; }

        [Setting, DefaultValue(1)]
        public int alchemyflask { get; set; }

        [Setting, DefaultValue(3)]
        public int tendriladds { get; set; }

        [Setting, DefaultValue(50)]
        public int dispersionhealth { get; set; }

        [Setting, DefaultValue(50)]
        public int dispersionmana { get; set; }

        [Setting, DefaultValue(50)]
        public int beestjepercent { get; set; }

        [Setting, DefaultValue(0)]
        public int beestje { get; set; }

        [Setting, DefaultValue(0)]
        public int lifebloodYorN { get; set; }

        [Setting, DefaultValue(0)]
        public int uselifeblood { get; set; }

        [Setting, DefaultValue(2)]
        public int shadoworbs { get; set; }

        [Setting, DefaultValue(0)]
        public int psyscream { get; set; }

        [Setting, DefaultValue(3)]
        public int psyscreamadds { get; set; }

        [Setting, DefaultValue(0)]
        public int silence { get; set; }

        [Setting, DefaultValue(false)]
        public bool movement { get; set; }

        [Setting, DefaultValue(false)]
        public bool facing { get; set; }

        [Setting, DefaultValue(false)]
        public bool targetting { get; set; }

        [Setting, DefaultValue(true)]
        public bool pullDevPlag { get; set; }

        [Setting, DefaultValue(45)]
        public int DesperatePrayerPercent { get; set; }

        [Setting, DefaultValue(50)]
        public int PowerWordShieldPercent { get; set; }

        [Setting, DefaultValue(50)]
        public int FlashHealPercent { get; set; }

        [Setting, DefaultValue(50)]
        public int FlashHealPercentOOC { get; set; }

        [Setting, DefaultValue(50)]
        public int RenewPercent { get; set; }

        [Setting, DefaultValue(50)]
        public int VampiricEmbracePercent { get; set; }

        [Setting, DefaultValue(50)]
        public int RenewPercentOOC { get; set; }

        [Setting, DefaultValue(50)]
        public int HealthstonePercent { get; set; }

        [Setting, DefaultValue(50)]
        public int drinkmana { get; set; }

        [Setting, DefaultValue(50)]
        public int eatfood { get; set; }

        [Setting, DefaultValue(50)]
        public int engibeltpercent { get; set; }

        [Setting, DefaultValue(50)]
        public int naruupercent { get; set; }

        [Setting, DefaultValue(0)]
        public int JadeSerpent { get; set; }

        [Setting, DefaultValue(0)]
        public int IntellectFlask { get; set; }

        [Setting, DefaultValue(0)]
        public int DesperatePrayerYorN { get; set; }

        [Setting, DefaultValue(0)]
        public int PauseKey { get; set; }

        [Setting, DefaultValue(0)]
        public int StopAoeKey { get; set; }

        public enum Keypress
        {
            None,
            LSHIFT,
            RSHIFT,
            LCTRL,
            RCTRL,
            LALT,
            RALT
        };

        [Setting, DefaultValue(Keypress.None)]
        public Keypress PauseKeys { get; set; }

        [Setting, DefaultValue(Keypress.None)]
        public Keypress StopAoeKeys { get; set; }

        [Setting, DefaultValue(true)]
        public bool PrintMsg { get; set; }

        [Setting, DefaultValue(true)]
        public bool FearWard { get; set; }

        [Setting, DefaultValue(false)]
        public bool FocusMindSear { get; set; }

    }
}
